﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ferreteria.Clases;

namespace Ferreteria.Forms
{
    
    public partial class Compras : Form
    {
        private DisancoEntitiesNuevo contexto;
        public static Proveedores ProvSeleccionado;
        public static Articulos ArticuloSel;
        private DataTable dtCompra;
    
        public Compras()
        {
            InitializeComponent();
            contexto = new DisancoEntitiesNuevo();

            dtCompra = new DataTable("Linea Compra");
            dtCompra.Columns.Add("Codigo");
            dtCompra.Columns.Add("Descripcion");
            dtCompra.Columns.Add("Cantidad");
            dtCompra.Columns.Add("Precio");
            dtCompra.Columns.Add("Total");
            gbProveedor.Enabled = false;
            gbProductos.Enabled = false;
        }
        
     private void bttnProvBuscar_Click_1(object sender, EventArgs e)
        {
            ProvBusqueda pantalla = new ProvBusqueda(ProvSeleccionado);
            pantalla.ShowDialog();
            txtbProvCod.Text = Convert.ToString(ProvSeleccionado.prov_id);
            txtbProvNombre.Text = ProvSeleccionado.prov_nombre;
            txtbProvDireccion.Text = ProvSeleccionado.prov_direccion;
            txtbProvLocalidad.Text = ProvSeleccionado.prov_localidad;
            txtbProvCondiva.Text = ProvSeleccionado.prov_condicion_iva;
            txtbProvCuit.Text = ProvSeleccionado.prov_cuit;
            gbProductos.Enabled = true;
        }

        
        private void txtbFacturaNro_KeyPress_(object sender, KeyPressEventArgs e)
        {
            Validar.ValidarNumeros(e);
        }

      private void txtbFactura_KeyPress(object sender, KeyPressEventArgs e)
        {
            Validar.ValidarNumeros(e);
        }
        
        private void txtbFactura_Leave(object sender, EventArgs e)
        {
            if (txtbFactura.Text != "")
            {
                var fmt = Convert.ToDouble(txtbFactura.Text);
                txtbFactura.Text = Convert.ToString(fmt.ToString("0000"));
            }
        }

        private void txtbFacturaNro_Leave(object sender, EventArgs e)
        {
            if (txtbFacturaNro.Text != "")
            {
                var fmt = Convert.ToDouble(txtbFacturaNro.Text);
                txtbFacturaNro.Text = Convert.ToString(fmt.ToString("00000000"));
            }
        }

        private void txtbProvCod_KeyPress(object sender, KeyPressEventArgs e)
        {
            ////if (txtbFacturaNro.Text != "")
            ////{
            //    Validar.ValidarNumeros(e);
            //    int provcod = Convert.ToInt32(txtbProvCod.Text);
            //    //if (e.KeyChar.Equals(Keys.Tab))
            //    //{
            //        Proveedores Proveedor = contexto.Proveedores.FirstOrDefault(prov => (int)prov.prov_id == provcod);
            //        txtbProvCuit.Text = Proveedor.prov_cuit;
            //    //}

            ////}
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ArticuloBusqueda pantalla = new ArticuloBusqueda(ArticuloSel);
            pantalla.ShowDialog();
            try
            {
                DataRow filaLineaCompra = dtCompra.NewRow();
                filaLineaCompra["Codigo"] = ArticuloSel.art_id;
                filaLineaCompra["Descripcion"] = ArticuloSel.art_descripcion;

                //int cantidad = 0; 
                //cantidad = Convert.ToInt32(dtgvLineaCompra.Rows[1].Cells["Cantidad"].Value);

                    //if (!decimal.TryParse(Convert.ToString(row.Cells["Pedido"].Value), out pedido))                     
                //    continue; 

                dtCompra.Rows.Add(filaLineaCompra);
                //filaLineaCompra["Total"] = cantidad;

                dtgvLineaCompra.DataSource = dtCompra;
                dtgvLineaCompra.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                //dtgvLineaCompra.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells ;
                dtgvLineaCompra.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
               

               


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            
        }

        private void dateTimePicker1_Leave(object sender, EventArgs e)
        {
            gbProveedor.Enabled = true;
        }

        private void btnCerrar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtbProvCod_TextChanged(object sender, EventArgs e)
        {
            //if (txtbFacturaNro.Text != "")
            //{
            //Validar.ValidarNumeros(e);
            int provcod = Convert.ToInt32(txtbProvCod.Text);
            //if (e.KeyChar.Equals(Keys.Tab))
            //{
            Proveedores Proveedor = contexto.Proveedores.FirstOrDefault(prov => (int)prov.prov_id == provcod);
            if (Proveedor != null)
            {
                txtbProvCuit.Text = Proveedor.prov_cuit;
            }
            //}

            //}
        }
        }
}
